/* freeircd configuration.h
 *
 * Created on 02/08/2006
 */

#ifndef _CONFIGURATION_H

#define DEFAULT_PORT 6667
#define DEFAULT_MAX_QUEUE_USERS 64

#define SELECT_TIMEOUT 1 /* seconds */

#define SERVER_NAME "irc.freeircd.org"
#define NETWORK_NAME "FreeIRC"
#define NETWORD_DESCRIPTION "Don't Panic"
#define USER_NAME "coiso"
#define MAX_USERS 500 /* -1 for no limit */
#define PING_FREQUENCY 120 /* seconds */
#define PING_TIMEOUT 20 /* seconds */

#define NO_NICK_RESPRESENTATION "?"
#define BIND_MAX_RETRIES 5 /* 5 retries */
#define DEFAULT_RECV_STR_SIZE 256
#define READ_BUFFER_SIZE 256
#define RECV_STR_LEN_MAX 4096 /* RFC default is 512 */

#define MAX_NICKNAME_LEN 9 /* RFC default is 9 */
#define MAX_CHANNEL_LEN 200 /* RFC default is 200 */
#define MAX_CHANS_PER_USER 20

#define MOTD_FILE "motd"

#define ACT_MOTD_FREQ 60*5 /* 5 minutes */

#define NICKSERV_NAME "nickserv"
#define CHANSERV_NAME "chanserv"
#define OPERSERV_NAME "operserv"

#define DEFAULT_IDENTIFY_TIMEOUT 60 /* segs */
#define REMOVE_NICK_TIMEOUT 30*6 /* 180 days */
#define LIMIT_FAILED_IDENT 4 /* 3 tries */
#define PASSWORD_LEN_LIMIT 64
#define PASSWORD_MIN_LEN 5
#define MIN_KILL_SEGS 20
#define MAX_KILL_SEGS 90
#define MAX_STATUS_PARAMS 20
#define MAX_NOTES 50
#define MAX_AJOINS_CHANS 10

#define REMOVE_CHAN_TIMEOUT 30*4 /* 4 months */

#define FOUNDER_LEVEL 16

#define CHANSERV_LEVEL_AUTOOP 5
#define CHANSERV_LEVEL_AUTOVOICE 3
#define CHANSERV_LEVEL_AUTODEOP -1
#define CHANSERV_LEVEL_INVITE 5
#define CHANSERV_LEVEL_AKICK 10
#define CHANSERV_LEVEL_SET FOUNDER_LEVEL
#define CHANSERV_LEVEL_CLEAR FOUNDER_LEVEL
#define CHANSERV_LEVEL_UNBAN 5
#define CHANSERV_LEVEL_OPDEOP 5
#define CHANSERV_LEVEL_KICK 10
#define CHANSERV_LEVEL_NOJOIN 0
#define CHANSERV_LEVEL_ACCESS_LIST 5
#define CHANSERV_LEVEL_ACCESS_CHANGE 3 /*so' pode dar op < ao seu op; para apagar tem que ter op superior ao alvo*/
#define CHANSERV_LEVEL_MEMO_READ 5
#define CHANSERV_LEVEL_MEMO_SEND 5
#define CHANSERV_LEVEL_MEMO_DEL 15
#define MAX_AUSERS 250

#define PREVENT_HOSTIL_KICK 1

#define FORCE_JOIN_PUTEDO 0
#define FORCE_NO_PART_PUTEDO 0

#define LOG 1
#define LOG_PING_PONG 0

#define FREEIRCD_NAME "freeircd"
#define FREEIRCD_VERSION "0.0.1"

/*******************************************************************************/
#if FORCE_JOIN_PUTEDO == 0
#  if FORCE_NO_PART_PUTEDO != 0
#    warning Segundo a configuração os utilizadores não são obrigados a entrar no #putedo, mas não podem sair do #putedo (depois de entrarem)
#  endif
#endif

#if MAX_AJOINS_CHANS > MAX_CHANS_PER_USER
#  error MAX_AJOINS_CHANS > MAX_CHANS_PER_USER
#endif

#if ACT_MOTD == 1
#  if ACT_MOTD_FREQ < 1
#    error Valor de ACT_MOTD_FREQ inadequado
#  endif
#endif

#define _CONFIGURATION_H
#endif
